package study.itwill.team5.main;

import java.util.ArrayList;

import study.itwill.common.DBHandler;
import study.itwill.team5.board.Board;
import study.itwill.team5.board.BoardItem;

/**
 * 게시판 기능들을 실행하는 메인 클래스
 */
public class Main07 {
	public static void main(String[] args) {
		
		// 데이터베이스 제어 객체에 대한 참조
		DBHandler db = DBHandler.getInstance();
		
		String 	HOSTNAME = "127.0.0.1";	// 현재 내 컴퓨터
		int 	HOSTPORT = 3306;		// 기본 포트 번호
		String	DATABASE = "italia";	// Schema 이름
		String 	USERNAME = "samulman";		// 접속 계정 아이디
		String 	PASSWORD = "9878";	// 비밀번호
		String 	CHARSET = "utf8";		// 케릭터 셋
		
		db.setInfo(HOSTNAME, HOSTPORT, DATABASE, USERNAME, PASSWORD, CHARSET);
		db.connect();
		
		Board board = new Board();
		
		/** 1. 게시글 작성 */
		int seq = board.addBoard("첫번째 글입니다", "첫번째 글내용입니다.", 1, 2);
		
		if(seq < 0) {
			System.out.println("게시글 추가 실패");
		} else {
			System.out.println(seq + "번 게시글 추가됨");
		}
		
		seq = board.addBoard("두번째 글입니다", "두번째 글내용입니다.", 3, 4);
		
		if(seq < 0) {
			System.out.println("게시글 추가 실패");
		} else {
			System.out.println(seq + "번 게시글 추가됨");
		}
		
		seq = board.addBoard("세번째 글입니다", "세번째 글내용입니다.", 3, 5);
		
		if(seq < 0) {
			System.out.println("게시글 추가 실패");
		} else {
			System.out.println(seq + "번 게시글 추가됨");
		}
		System.out.println("---------------------------------------------------");
		
		
		/** 2. 게시글 수정 */
		boolean edit = board.editBoard(3, "세번째 글임돠", "세번째 글내용임돠.", 3, 5);
		
		if(edit == false) {
			System.out.println("게시글 수정 실패");
		} else {
			System.out.println("게시글 수정됨");
		}
		System.out.println("---------------------------------------------------");
		
		
		/** 3. 게시판 카테고리 삭제 */
		boolean delete = board.deleteBoard(2);
		
		if(delete == false) {
			System.out.println("게시글 삭제 실패");
		} else {
			System.out.println("게시글 삭제됨");
		}
		System.out.println("---------------------------------------------------");
		
		
		/** 4. 게시판 카테고리 조회 */
		
		// 3번 게시글 조회
		BoardItem item = board.viewBoard(3);
		
		if(item == null) {
			System.out.println("조회된 데이터 없음");
		} else {
			System.out.println(item.toString());
		}
		System.out.println("---------------------------------------------------");
		
		/*
		 *  게시글 검색을 위한 파라미터 정의
		 *  0, null : 게시글 전체리스트 검색
		 *  		(전체리스트 검색은 오버로딩 정의로 숫자값 하나만을 파라미터로 받을수 있다)
		 *  1, null : 공지사항 전체리스트 검색
		 *  		(전체리스트 검색은 오버로딩 정의로 숫자값 하나만을 파라미터로 받을수 있다)
		 *  2, null : 문의하기 전체리스트 검색
		 *  		(전체리스트 검색은 오버로딩 정의로 숫자값 하나만을 파라미터로 받을수 있다)
		 *  3, null : 민박후기 전체리스트 검색
		 *  		(전체리스트 검색은 오버로딩 정의로 숫자값 하나만을 파라미터로 받을수 있다)
		 *  4, "제목 검색"
		 *  5, "내용 검색"
		 *  6, "회원 검색"
		 */
		ArrayList<BoardItem> list = board.listBoard(0);
		
		if(list == null) {
			System.out.println("조회된 데이터 없음");
		} else {
			for (int i=0; i<list.size(); i++) {
				BoardItem temp = list.get(i);
				System.out.println(temp.toString());
			}
		}
		System.out.println("---------------------------------------------------");
		
		// 접속해제
		db.disconnect();
	}
}
